package com.desksoft.ecommerce.entity.mall.dto;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BookingExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public BookingExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andBillnoIsNull() {
            addCriterion("BillNo is null");
            return (Criteria) this;
        }

        public Criteria andBillnoIsNotNull() {
            addCriterion("BillNo is not null");
            return (Criteria) this;
        }

        public Criteria andBillnoEqualTo(String value) {
            addCriterion("BillNo =", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotEqualTo(String value) {
            addCriterion("BillNo <>", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoGreaterThan(String value) {
            addCriterion("BillNo >", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoGreaterThanOrEqualTo(String value) {
            addCriterion("BillNo >=", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoLessThan(String value) {
            addCriterion("BillNo <", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoLessThanOrEqualTo(String value) {
            addCriterion("BillNo <=", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoLike(String value) {
            addCriterion("BillNo like", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotLike(String value) {
            addCriterion("BillNo not like", value, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoIn(List<String> values) {
            addCriterion("BillNo in", values, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotIn(List<String> values) {
            addCriterion("BillNo not in", values, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoBetween(String value1, String value2) {
            addCriterion("BillNo between", value1, value2, "billno");
            return (Criteria) this;
        }

        public Criteria andBillnoNotBetween(String value1, String value2) {
            addCriterion("BillNo not between", value1, value2, "billno");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNull() {
            addCriterion("ItemCode is null");
            return (Criteria) this;
        }

        public Criteria andItemcodeIsNotNull() {
            addCriterion("ItemCode is not null");
            return (Criteria) this;
        }

        public Criteria andItemcodeEqualTo(String value) {
            addCriterion("ItemCode =", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotEqualTo(String value) {
            addCriterion("ItemCode <>", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThan(String value) {
            addCriterion("ItemCode >", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeGreaterThanOrEqualTo(String value) {
            addCriterion("ItemCode >=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThan(String value) {
            addCriterion("ItemCode <", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLessThanOrEqualTo(String value) {
            addCriterion("ItemCode <=", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeLike(String value) {
            addCriterion("ItemCode like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotLike(String value) {
            addCriterion("ItemCode not like", value, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeIn(List<String> values) {
            addCriterion("ItemCode in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotIn(List<String> values) {
            addCriterion("ItemCode not in", values, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeBetween(String value1, String value2) {
            addCriterion("ItemCode between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andItemcodeNotBetween(String value1, String value2) {
            addCriterion("ItemCode not between", value1, value2, "itemcode");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNull() {
            addCriterion("StoreCode is null");
            return (Criteria) this;
        }

        public Criteria andStorecodeIsNotNull() {
            addCriterion("StoreCode is not null");
            return (Criteria) this;
        }

        public Criteria andStorecodeEqualTo(String value) {
            addCriterion("StoreCode =", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotEqualTo(String value) {
            addCriterion("StoreCode <>", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThan(String value) {
            addCriterion("StoreCode >", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeGreaterThanOrEqualTo(String value) {
            addCriterion("StoreCode >=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThan(String value) {
            addCriterion("StoreCode <", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLessThanOrEqualTo(String value) {
            addCriterion("StoreCode <=", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeLike(String value) {
            addCriterion("StoreCode like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotLike(String value) {
            addCriterion("StoreCode not like", value, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeIn(List<String> values) {
            addCriterion("StoreCode in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotIn(List<String> values) {
            addCriterion("StoreCode not in", values, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeBetween(String value1, String value2) {
            addCriterion("StoreCode between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andStorecodeNotBetween(String value1, String value2) {
            addCriterion("StoreCode not between", value1, value2, "storecode");
            return (Criteria) this;
        }

        public Criteria andBilldateIsNull() {
            addCriterion("BillDate is null");
            return (Criteria) this;
        }

        public Criteria andBilldateIsNotNull() {
            addCriterion("BillDate is not null");
            return (Criteria) this;
        }

        public Criteria andBilldateEqualTo(Date value) {
            addCriterion("BillDate =", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateNotEqualTo(Date value) {
            addCriterion("BillDate <>", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateGreaterThan(Date value) {
            addCriterion("BillDate >", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateGreaterThanOrEqualTo(Date value) {
            addCriterion("BillDate >=", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateLessThan(Date value) {
            addCriterion("BillDate <", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateLessThanOrEqualTo(Date value) {
            addCriterion("BillDate <=", value, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateIn(List<Date> values) {
            addCriterion("BillDate in", values, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateNotIn(List<Date> values) {
            addCriterion("BillDate not in", values, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateBetween(Date value1, Date value2) {
            addCriterion("BillDate between", value1, value2, "billdate");
            return (Criteria) this;
        }

        public Criteria andBilldateNotBetween(Date value1, Date value2) {
            addCriterion("BillDate not between", value1, value2, "billdate");
            return (Criteria) this;
        }

        public Criteria andVipcardnoIsNull() {
            addCriterion("VipCardNo is null");
            return (Criteria) this;
        }

        public Criteria andVipcardnoIsNotNull() {
            addCriterion("VipCardNo is not null");
            return (Criteria) this;
        }

        public Criteria andVipcardnoEqualTo(String value) {
            addCriterion("VipCardNo =", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotEqualTo(String value) {
            addCriterion("VipCardNo <>", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoGreaterThan(String value) {
            addCriterion("VipCardNo >", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoGreaterThanOrEqualTo(String value) {
            addCriterion("VipCardNo >=", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoLessThan(String value) {
            addCriterion("VipCardNo <", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoLessThanOrEqualTo(String value) {
            addCriterion("VipCardNo <=", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoLike(String value) {
            addCriterion("VipCardNo like", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotLike(String value) {
            addCriterion("VipCardNo not like", value, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoIn(List<String> values) {
            addCriterion("VipCardNo in", values, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotIn(List<String> values) {
            addCriterion("VipCardNo not in", values, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoBetween(String value1, String value2) {
            addCriterion("VipCardNo between", value1, value2, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andVipcardnoNotBetween(String value1, String value2) {
            addCriterion("VipCardNo not between", value1, value2, "vipcardno");
            return (Criteria) this;
        }

        public Criteria andBooktypeIsNull() {
            addCriterion("BookType is null");
            return (Criteria) this;
        }

        public Criteria andBooktypeIsNotNull() {
            addCriterion("BookType is not null");
            return (Criteria) this;
        }

        public Criteria andBooktypeEqualTo(String value) {
            addCriterion("BookType =", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeNotEqualTo(String value) {
            addCriterion("BookType <>", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeGreaterThan(String value) {
            addCriterion("BookType >", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeGreaterThanOrEqualTo(String value) {
            addCriterion("BookType >=", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeLessThan(String value) {
            addCriterion("BookType <", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeLessThanOrEqualTo(String value) {
            addCriterion("BookType <=", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeLike(String value) {
            addCriterion("BookType like", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeNotLike(String value) {
            addCriterion("BookType not like", value, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeIn(List<String> values) {
            addCriterion("BookType in", values, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeNotIn(List<String> values) {
            addCriterion("BookType not in", values, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeBetween(String value1, String value2) {
            addCriterion("BookType between", value1, value2, "booktype");
            return (Criteria) this;
        }

        public Criteria andBooktypeNotBetween(String value1, String value2) {
            addCriterion("BookType not between", value1, value2, "booktype");
            return (Criteria) this;
        }

        public Criteria andBookerIsNull() {
            addCriterion("Booker is null");
            return (Criteria) this;
        }

        public Criteria andBookerIsNotNull() {
            addCriterion("Booker is not null");
            return (Criteria) this;
        }

        public Criteria andBookerEqualTo(String value) {
            addCriterion("Booker =", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerNotEqualTo(String value) {
            addCriterion("Booker <>", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerGreaterThan(String value) {
            addCriterion("Booker >", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerGreaterThanOrEqualTo(String value) {
            addCriterion("Booker >=", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerLessThan(String value) {
            addCriterion("Booker <", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerLessThanOrEqualTo(String value) {
            addCriterion("Booker <=", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerLike(String value) {
            addCriterion("Booker like", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerNotLike(String value) {
            addCriterion("Booker not like", value, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerIn(List<String> values) {
            addCriterion("Booker in", values, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerNotIn(List<String> values) {
            addCriterion("Booker not in", values, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerBetween(String value1, String value2) {
            addCriterion("Booker between", value1, value2, "booker");
            return (Criteria) this;
        }

        public Criteria andBookerNotBetween(String value1, String value2) {
            addCriterion("Booker not between", value1, value2, "booker");
            return (Criteria) this;
        }

        public Criteria andTelIsNull() {
            addCriterion("Tel is null");
            return (Criteria) this;
        }

        public Criteria andTelIsNotNull() {
            addCriterion("Tel is not null");
            return (Criteria) this;
        }

        public Criteria andTelEqualTo(String value) {
            addCriterion("Tel =", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotEqualTo(String value) {
            addCriterion("Tel <>", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelGreaterThan(String value) {
            addCriterion("Tel >", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelGreaterThanOrEqualTo(String value) {
            addCriterion("Tel >=", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLessThan(String value) {
            addCriterion("Tel <", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLessThanOrEqualTo(String value) {
            addCriterion("Tel <=", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelLike(String value) {
            addCriterion("Tel like", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotLike(String value) {
            addCriterion("Tel not like", value, "tel");
            return (Criteria) this;
        }

        public Criteria andTelIn(List<String> values) {
            addCriterion("Tel in", values, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotIn(List<String> values) {
            addCriterion("Tel not in", values, "tel");
            return (Criteria) this;
        }

        public Criteria andTelBetween(String value1, String value2) {
            addCriterion("Tel between", value1, value2, "tel");
            return (Criteria) this;
        }

        public Criteria andTelNotBetween(String value1, String value2) {
            addCriterion("Tel not between", value1, value2, "tel");
            return (Criteria) this;
        }

        public Criteria andAddressIsNull() {
            addCriterion("Address is null");
            return (Criteria) this;
        }

        public Criteria andAddressIsNotNull() {
            addCriterion("Address is not null");
            return (Criteria) this;
        }

        public Criteria andAddressEqualTo(String value) {
            addCriterion("Address =", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotEqualTo(String value) {
            addCriterion("Address <>", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThan(String value) {
            addCriterion("Address >", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressGreaterThanOrEqualTo(String value) {
            addCriterion("Address >=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThan(String value) {
            addCriterion("Address <", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLessThanOrEqualTo(String value) {
            addCriterion("Address <=", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressLike(String value) {
            addCriterion("Address like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotLike(String value) {
            addCriterion("Address not like", value, "address");
            return (Criteria) this;
        }

        public Criteria andAddressIn(List<String> values) {
            addCriterion("Address in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotIn(List<String> values) {
            addCriterion("Address not in", values, "address");
            return (Criteria) this;
        }

        public Criteria andAddressBetween(String value1, String value2) {
            addCriterion("Address between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andAddressNotBetween(String value1, String value2) {
            addCriterion("Address not between", value1, value2, "address");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("Email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("Email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("Email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("Email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("Email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("Email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("Email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("Email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("Email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("Email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("Email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("Email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("Email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("Email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andItemnameIsNull() {
            addCriterion("ItemName is null");
            return (Criteria) this;
        }

        public Criteria andItemnameIsNotNull() {
            addCriterion("ItemName is not null");
            return (Criteria) this;
        }

        public Criteria andItemnameEqualTo(String value) {
            addCriterion("ItemName =", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameNotEqualTo(String value) {
            addCriterion("ItemName <>", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameGreaterThan(String value) {
            addCriterion("ItemName >", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameGreaterThanOrEqualTo(String value) {
            addCriterion("ItemName >=", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameLessThan(String value) {
            addCriterion("ItemName <", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameLessThanOrEqualTo(String value) {
            addCriterion("ItemName <=", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameLike(String value) {
            addCriterion("ItemName like", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameNotLike(String value) {
            addCriterion("ItemName not like", value, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameIn(List<String> values) {
            addCriterion("ItemName in", values, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameNotIn(List<String> values) {
            addCriterion("ItemName not in", values, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameBetween(String value1, String value2) {
            addCriterion("ItemName between", value1, value2, "itemname");
            return (Criteria) this;
        }

        public Criteria andItemnameNotBetween(String value1, String value2) {
            addCriterion("ItemName not between", value1, value2, "itemname");
            return (Criteria) this;
        }

        public Criteria andStandardIsNull() {
            addCriterion("Standard is null");
            return (Criteria) this;
        }

        public Criteria andStandardIsNotNull() {
            addCriterion("Standard is not null");
            return (Criteria) this;
        }

        public Criteria andStandardEqualTo(String value) {
            addCriterion("Standard =", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardNotEqualTo(String value) {
            addCriterion("Standard <>", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardGreaterThan(String value) {
            addCriterion("Standard >", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardGreaterThanOrEqualTo(String value) {
            addCriterion("Standard >=", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardLessThan(String value) {
            addCriterion("Standard <", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardLessThanOrEqualTo(String value) {
            addCriterion("Standard <=", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardLike(String value) {
            addCriterion("Standard like", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardNotLike(String value) {
            addCriterion("Standard not like", value, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardIn(List<String> values) {
            addCriterion("Standard in", values, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardNotIn(List<String> values) {
            addCriterion("Standard not in", values, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardBetween(String value1, String value2) {
            addCriterion("Standard between", value1, value2, "standard");
            return (Criteria) this;
        }

        public Criteria andStandardNotBetween(String value1, String value2) {
            addCriterion("Standard not between", value1, value2, "standard");
            return (Criteria) this;
        }

        public Criteria andPublicsherIsNull() {
            addCriterion("Publicsher is null");
            return (Criteria) this;
        }

        public Criteria andPublicsherIsNotNull() {
            addCriterion("Publicsher is not null");
            return (Criteria) this;
        }

        public Criteria andPublicsherEqualTo(String value) {
            addCriterion("Publicsher =", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherNotEqualTo(String value) {
            addCriterion("Publicsher <>", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherGreaterThan(String value) {
            addCriterion("Publicsher >", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherGreaterThanOrEqualTo(String value) {
            addCriterion("Publicsher >=", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherLessThan(String value) {
            addCriterion("Publicsher <", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherLessThanOrEqualTo(String value) {
            addCriterion("Publicsher <=", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherLike(String value) {
            addCriterion("Publicsher like", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherNotLike(String value) {
            addCriterion("Publicsher not like", value, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherIn(List<String> values) {
            addCriterion("Publicsher in", values, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherNotIn(List<String> values) {
            addCriterion("Publicsher not in", values, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherBetween(String value1, String value2) {
            addCriterion("Publicsher between", value1, value2, "publicsher");
            return (Criteria) this;
        }

        public Criteria andPublicsherNotBetween(String value1, String value2) {
            addCriterion("Publicsher not between", value1, value2, "publicsher");
            return (Criteria) this;
        }

        public Criteria andFixedpriceIsNull() {
            addCriterion("FixedPrice is null");
            return (Criteria) this;
        }

        public Criteria andFixedpriceIsNotNull() {
            addCriterion("FixedPrice is not null");
            return (Criteria) this;
        }

        public Criteria andFixedpriceEqualTo(BigDecimal value) {
            addCriterion("FixedPrice =", value, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceNotEqualTo(BigDecimal value) {
            addCriterion("FixedPrice <>", value, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceGreaterThan(BigDecimal value) {
            addCriterion("FixedPrice >", value, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceGreaterThanOrEqualTo(BigDecimal value) {
            addCriterion("FixedPrice >=", value, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceLessThan(BigDecimal value) {
            addCriterion("FixedPrice <", value, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceLessThanOrEqualTo(BigDecimal value) {
            addCriterion("FixedPrice <=", value, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceIn(List<BigDecimal> values) {
            addCriterion("FixedPrice in", values, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceNotIn(List<BigDecimal> values) {
            addCriterion("FixedPrice not in", values, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("FixedPrice between", value1, value2, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andFixedpriceNotBetween(BigDecimal value1, BigDecimal value2) {
            addCriterion("FixedPrice not between", value1, value2, "fixedprice");
            return (Criteria) this;
        }

        public Criteria andQtyIsNull() {
            addCriterion("Qty is null");
            return (Criteria) this;
        }

        public Criteria andQtyIsNotNull() {
            addCriterion("Qty is not null");
            return (Criteria) this;
        }

        public Criteria andQtyEqualTo(Integer value) {
            addCriterion("Qty =", value, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyNotEqualTo(Integer value) {
            addCriterion("Qty <>", value, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyGreaterThan(Integer value) {
            addCriterion("Qty >", value, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyGreaterThanOrEqualTo(Integer value) {
            addCriterion("Qty >=", value, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyLessThan(Integer value) {
            addCriterion("Qty <", value, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyLessThanOrEqualTo(Integer value) {
            addCriterion("Qty <=", value, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyIn(List<Integer> values) {
            addCriterion("Qty in", values, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyNotIn(List<Integer> values) {
            addCriterion("Qty not in", values, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyBetween(Integer value1, Integer value2) {
            addCriterion("Qty between", value1, value2, "qty");
            return (Criteria) this;
        }

        public Criteria andQtyNotBetween(Integer value1, Integer value2) {
            addCriterion("Qty not between", value1, value2, "qty");
            return (Criteria) this;
        }

        public Criteria andStatusIsNull() {
            addCriterion("Status is null");
            return (Criteria) this;
        }

        public Criteria andStatusIsNotNull() {
            addCriterion("Status is not null");
            return (Criteria) this;
        }

        public Criteria andStatusEqualTo(String value) {
            addCriterion("Status =", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotEqualTo(String value) {
            addCriterion("Status <>", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThan(String value) {
            addCriterion("Status >", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusGreaterThanOrEqualTo(String value) {
            addCriterion("Status >=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThan(String value) {
            addCriterion("Status <", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLessThanOrEqualTo(String value) {
            addCriterion("Status <=", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusLike(String value) {
            addCriterion("Status like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotLike(String value) {
            addCriterion("Status not like", value, "status");
            return (Criteria) this;
        }

        public Criteria andStatusIn(List<String> values) {
            addCriterion("Status in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotIn(List<String> values) {
            addCriterion("Status not in", values, "status");
            return (Criteria) this;
        }

        public Criteria andStatusBetween(String value1, String value2) {
            addCriterion("Status between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion("Status not between", value1, value2, "status");
            return (Criteria) this;
        }

        public Criteria andNeeddateIsNull() {
            addCriterion("NeedDate is null");
            return (Criteria) this;
        }

        public Criteria andNeeddateIsNotNull() {
            addCriterion("NeedDate is not null");
            return (Criteria) this;
        }

        public Criteria andNeeddateEqualTo(Date value) {
            addCriterion("NeedDate =", value, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateNotEqualTo(Date value) {
            addCriterion("NeedDate <>", value, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateGreaterThan(Date value) {
            addCriterion("NeedDate >", value, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateGreaterThanOrEqualTo(Date value) {
            addCriterion("NeedDate >=", value, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateLessThan(Date value) {
            addCriterion("NeedDate <", value, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateLessThanOrEqualTo(Date value) {
            addCriterion("NeedDate <=", value, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateIn(List<Date> values) {
            addCriterion("NeedDate in", values, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateNotIn(List<Date> values) {
            addCriterion("NeedDate not in", values, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateBetween(Date value1, Date value2) {
            addCriterion("NeedDate between", value1, value2, "needdate");
            return (Criteria) this;
        }

        public Criteria andNeeddateNotBetween(Date value1, Date value2) {
            addCriterion("NeedDate not between", value1, value2, "needdate");
            return (Criteria) this;
        }

        public Criteria andLeavewordIsNull() {
            addCriterion("LeaveWord is null");
            return (Criteria) this;
        }

        public Criteria andLeavewordIsNotNull() {
            addCriterion("LeaveWord is not null");
            return (Criteria) this;
        }

        public Criteria andLeavewordEqualTo(String value) {
            addCriterion("LeaveWord =", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordNotEqualTo(String value) {
            addCriterion("LeaveWord <>", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordGreaterThan(String value) {
            addCriterion("LeaveWord >", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordGreaterThanOrEqualTo(String value) {
            addCriterion("LeaveWord >=", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordLessThan(String value) {
            addCriterion("LeaveWord <", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordLessThanOrEqualTo(String value) {
            addCriterion("LeaveWord <=", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordLike(String value) {
            addCriterion("LeaveWord like", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordNotLike(String value) {
            addCriterion("LeaveWord not like", value, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordIn(List<String> values) {
            addCriterion("LeaveWord in", values, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordNotIn(List<String> values) {
            addCriterion("LeaveWord not in", values, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordBetween(String value1, String value2) {
            addCriterion("LeaveWord between", value1, value2, "leaveword");
            return (Criteria) this;
        }

        public Criteria andLeavewordNotBetween(String value1, String value2) {
            addCriterion("LeaveWord not between", value1, value2, "leaveword");
            return (Criteria) this;
        }

        public Criteria andStorestatusIsNull() {
            addCriterion("StoreStatus is null");
            return (Criteria) this;
        }

        public Criteria andStorestatusIsNotNull() {
            addCriterion("StoreStatus is not null");
            return (Criteria) this;
        }

        public Criteria andStorestatusEqualTo(String value) {
            addCriterion("StoreStatus =", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusNotEqualTo(String value) {
            addCriterion("StoreStatus <>", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusGreaterThan(String value) {
            addCriterion("StoreStatus >", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusGreaterThanOrEqualTo(String value) {
            addCriterion("StoreStatus >=", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusLessThan(String value) {
            addCriterion("StoreStatus <", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusLessThanOrEqualTo(String value) {
            addCriterion("StoreStatus <=", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusLike(String value) {
            addCriterion("StoreStatus like", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusNotLike(String value) {
            addCriterion("StoreStatus not like", value, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusIn(List<String> values) {
            addCriterion("StoreStatus in", values, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusNotIn(List<String> values) {
            addCriterion("StoreStatus not in", values, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusBetween(String value1, String value2) {
            addCriterion("StoreStatus between", value1, value2, "storestatus");
            return (Criteria) this;
        }

        public Criteria andStorestatusNotBetween(String value1, String value2) {
            addCriterion("StoreStatus not between", value1, value2, "storestatus");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("Remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("Remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("Remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("Remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("Remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("Remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("Remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("Remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("Remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("Remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("Remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("Remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("Remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("Remark not between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andTorderdnoIsNull() {
            addCriterion("TOrderDNo is null");
            return (Criteria) this;
        }

        public Criteria andTorderdnoIsNotNull() {
            addCriterion("TOrderDNo is not null");
            return (Criteria) this;
        }

        public Criteria andTorderdnoEqualTo(String value) {
            addCriterion("TOrderDNo =", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoNotEqualTo(String value) {
            addCriterion("TOrderDNo <>", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoGreaterThan(String value) {
            addCriterion("TOrderDNo >", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoGreaterThanOrEqualTo(String value) {
            addCriterion("TOrderDNo >=", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoLessThan(String value) {
            addCriterion("TOrderDNo <", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoLessThanOrEqualTo(String value) {
            addCriterion("TOrderDNo <=", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoLike(String value) {
            addCriterion("TOrderDNo like", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoNotLike(String value) {
            addCriterion("TOrderDNo not like", value, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoIn(List<String> values) {
            addCriterion("TOrderDNo in", values, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoNotIn(List<String> values) {
            addCriterion("TOrderDNo not in", values, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoBetween(String value1, String value2) {
            addCriterion("TOrderDNo between", value1, value2, "torderdno");
            return (Criteria) this;
        }

        public Criteria andTorderdnoNotBetween(String value1, String value2) {
            addCriterion("TOrderDNo not between", value1, value2, "torderdno");
            return (Criteria) this;
        }

        public Criteria andDemandnoIsNull() {
            addCriterion("DemandNo is null");
            return (Criteria) this;
        }

        public Criteria andDemandnoIsNotNull() {
            addCriterion("DemandNo is not null");
            return (Criteria) this;
        }

        public Criteria andDemandnoEqualTo(String value) {
            addCriterion("DemandNo =", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoNotEqualTo(String value) {
            addCriterion("DemandNo <>", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoGreaterThan(String value) {
            addCriterion("DemandNo >", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoGreaterThanOrEqualTo(String value) {
            addCriterion("DemandNo >=", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoLessThan(String value) {
            addCriterion("DemandNo <", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoLessThanOrEqualTo(String value) {
            addCriterion("DemandNo <=", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoLike(String value) {
            addCriterion("DemandNo like", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoNotLike(String value) {
            addCriterion("DemandNo not like", value, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoIn(List<String> values) {
            addCriterion("DemandNo in", values, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoNotIn(List<String> values) {
            addCriterion("DemandNo not in", values, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoBetween(String value1, String value2) {
            addCriterion("DemandNo between", value1, value2, "demandno");
            return (Criteria) this;
        }

        public Criteria andDemandnoNotBetween(String value1, String value2) {
            addCriterion("DemandNo not between", value1, value2, "demandno");
            return (Criteria) this;
        }

        public Criteria andAcceptdateIsNull() {
            addCriterion("AcceptDate is null");
            return (Criteria) this;
        }

        public Criteria andAcceptdateIsNotNull() {
            addCriterion("AcceptDate is not null");
            return (Criteria) this;
        }

        public Criteria andAcceptdateEqualTo(Date value) {
            addCriterion("AcceptDate =", value, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateNotEqualTo(Date value) {
            addCriterion("AcceptDate <>", value, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateGreaterThan(Date value) {
            addCriterion("AcceptDate >", value, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateGreaterThanOrEqualTo(Date value) {
            addCriterion("AcceptDate >=", value, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateLessThan(Date value) {
            addCriterion("AcceptDate <", value, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateLessThanOrEqualTo(Date value) {
            addCriterion("AcceptDate <=", value, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateIn(List<Date> values) {
            addCriterion("AcceptDate in", values, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateNotIn(List<Date> values) {
            addCriterion("AcceptDate not in", values, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateBetween(Date value1, Date value2) {
            addCriterion("AcceptDate between", value1, value2, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAcceptdateNotBetween(Date value1, Date value2) {
            addCriterion("AcceptDate not between", value1, value2, "acceptdate");
            return (Criteria) this;
        }

        public Criteria andAccepterIsNull() {
            addCriterion("Accepter is null");
            return (Criteria) this;
        }

        public Criteria andAccepterIsNotNull() {
            addCriterion("Accepter is not null");
            return (Criteria) this;
        }

        public Criteria andAccepterEqualTo(String value) {
            addCriterion("Accepter =", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterNotEqualTo(String value) {
            addCriterion("Accepter <>", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterGreaterThan(String value) {
            addCriterion("Accepter >", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterGreaterThanOrEqualTo(String value) {
            addCriterion("Accepter >=", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterLessThan(String value) {
            addCriterion("Accepter <", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterLessThanOrEqualTo(String value) {
            addCriterion("Accepter <=", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterLike(String value) {
            addCriterion("Accepter like", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterNotLike(String value) {
            addCriterion("Accepter not like", value, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterIn(List<String> values) {
            addCriterion("Accepter in", values, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterNotIn(List<String> values) {
            addCriterion("Accepter not in", values, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterBetween(String value1, String value2) {
            addCriterion("Accepter between", value1, value2, "accepter");
            return (Criteria) this;
        }

        public Criteria andAccepterNotBetween(String value1, String value2) {
            addCriterion("Accepter not between", value1, value2, "accepter");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}